﻿//using System;
//using System.Configuration;
//using System.Text;
//using System.Web.Mvc;
//using MiniWeb.Core.Dtos;
//using MiniWeb.Core.Entities;
//using MiniWeb.Core.Enums;
//using MiniWeb.Task;
//using MiniWeb.Task.Config;
//using NetDimension.Web;
//using NetDimension.Weibo;
//using SpeadFrm.Common;
//using WFramework.Common;


//namespace MiniWeb.Web.Controllers.Web.otherlogin
//{
//    public class otherloginController : BaseController
//    {
//        private static Random RndSeed = new Random();
//        private readonly AccountsInfoTask _accountsInfoTask = new AccountsInfoTask();
//        //private readonly AccountLoginLogTask _accountLoginLogTask = new AccountLoginLogTask();
//        //private readonly ChangePoinHistoryTask _changePoinHistoryTask = new ChangePoinHistoryTask();

//        Client Sina = null;
//        OAuth oauth = new OAuth(ConfigurationManager.AppSettings["AppKey"], ConfigurationManager.AppSettings["AppSecret"], ConfigurationManager.AppSettings["CallbackUrl"]);


//        public ActionResult qqlogin()
//        {
//            Session["qqstate"] = (RndSeed.Next(1, 0x5f5e0ff).ToString("00000000") + RndSeed.Next(1, 0x5f5e0ff).ToString("00000000") +
//                    RndSeed.Next(1, 0x5f5e0ff).ToString("00000000") + RndSeed.Next(1, 0x5f5e0ff).ToString("00000000"));
//            return Redirect(QQAPI.GetLoginUrl(Session["qqstate"].ToString()));
//        }
//        public ActionResult qqcallback()
//        {
//            string code = Request.QueryString["code"];
//            string state = Request.QueryString["state"];
//            string accessToken = string.Empty;
//            string openid = string.Empty;
//            if(string.IsNullOrEmpty(code)|| string.IsNullOrEmpty(state))
//            {
//                return Content("e1");
//            }
//            if (QQLoginTask.GetAccessTokenAndOpenID(code, state, out accessToken, out openid))
//            {
//                //登录成功逻辑
//                Session["accessToken"] = accessToken;
//                Session["openid"] = openid;
//            }
//            else
//            {
//                return Content("error");
//            }
//            var curraccount = _accountsInfoTask.GetModelByUID(openid, (int)AccountSourceType.QQ登录);
//            if (curraccount != null)
//            {
//                WebFormsAuthService.SignIn(curraccount.Account);
                
//                //_accountLoginLogTask.Add(new AccountLoginLog
//                //                             {
//                //                                 LoginIP = DNTRequest.GetIP(),
//                //                                 LoginTime = DateTime.Now,
//                //                                 NickName = curraccount.NickName,
//                //                                 UserID = curraccount.ID
//                //                             });

//                if(string.IsNullOrEmpty(curraccount.Password))
//                {
//                    return RedirectToAction("BindAccount", "user");
//                }
//                return RedirectToAction("Index", "web");
//            }


//            //var nickname = GetUserInfoNickName();
//            //if (Encoding.Default.GetByteCount(nickname) > 16)
//            //{
//            //    nickname = nickname.Substring(0, 15);
//            //}

//            //是否存在该nickname
//            //if (_accountsInfoTask.IsExiteNickName(nickname))
//            //{
//            //    nickname = _accountsInfoTask.CreateDateNickName();
//            //}

//            var model = new AccountsInfo
//            {
//                Account = _accountsInfoTask.CreateAccount(),
//                Password = "",
//                UID = openid,
//                Email = "",
//                HeadImg = "",
//                Phone = "",
//                RegIP = DNTRequest.GetIP(),
//                RegTime = DateTime.Now,

//                RegType = (int)AccountSourceType.QQ登录

//            };
//            _accountsInfoTask.Add(model);
//            WebFormsAuthService.SignIn(model.Account);
//           // int modelid = _accountsInfoTask.GetByAccount(model.Account).ID;
           
//            //_accountLoginLogTask.Add(new AccountLoginLog
//            //{
//            //    LoginIP = DNTRequest.GetIP(),
//            //    LoginTime = DateTime.Now,
//            //    NickName = model.NickName,
//            //    UserID = modelid
//            //});

//            return RedirectToAction("BindAccount", "user");

//            //return Content(string.Format("accessToken={0}&openid={1}", accessToken, openid));
//        }

//        private string GetUserInfoNickName()
//        {
//            GetUserInfoJson info = QQAPI.GetUserInfoToNickName(Session["accessToken"].ToString(), Session["openid"].ToString());
//            return info.nickname;

//        }
//        public ActionResult ListAlbum()
//        {

//            var str = QQAPI.ListAlbum(Session["accessToken"].ToString(), Session["openid"].ToString());
//            return Content(str);

//        }

//        ////////////////////////新浪登录//////////////////////////////////////

//        public ActionResult sinalogin()
//        {
//            return Redirect(SinaApi.GetLoginUrl());

//        }

//        public ActionResult sinacallback()
//        {
//            string accessToken = string.Empty;
//            string sinauid = string.Empty;
//            string code = Request.QueryString["code"];
//            if (!string.IsNullOrEmpty(code))
//            {
//                var sinatokeninfo = SinaApi.GetAccessToken(code);
//                accessToken = sinatokeninfo.access_token;
//                sinauid = sinatokeninfo.uid;

//            }
//            else
//            {
//                return Content("error1");
//            }
//            if(string.IsNullOrEmpty(accessToken)|| string.IsNullOrEmpty(sinauid))
//            {
//                return Content("error2");
//            }

           

//            var curraccount = _accountsInfoTask.GetModelByUID(sinauid, (int)AccountSourceType.新浪登录);
//            if (curraccount != null)
//            {
//                //_accountLoginLogTask.Add(new AccountLoginLog
//                //{
//                //    LoginIP = DNTRequest.GetIP(),
//                //    LoginTime = DateTime.Now,
//                //    NickName = curraccount.NickName,
//                //    UserID = curraccount.ID
//                //});

//                WebFormsAuthService.SignIn(curraccount.Account);
//                ////积分添加
//                //if (!_accountLoginLogTask.IsDayLogin(curraccount.ID))
//                //{
//                //    _changePoinHistoryTask.RecordPointChange(curraccount.ID, 1, PointChangeTypeEnum.登录);
//                //}

//                return RedirectToAction("index", "web");
//            }
//            //var nickname = _accountsInfoTask.CreateDateNickName();

//            //if (Encoding.Default.GetByteCount(nickname) > 16)
//            //{
//            //    nickname = nickname.Substring(0, 15);
//            //}

//            //是否存在该nickname
//            //if (_accountsInfoTask.IsExiteNickName(nickname))
//            //{
//            //    nickname = _accountsInfoTask.CreateDateNickName();
//            //}

//            var model = new AccountsInfo
//            {
//                Account = _accountsInfoTask.CreateAccount(),
//                Password = "",
//                UID = sinauid,
//                Email = "",
//                HeadImg = "",
//                Phone = "",
//                RegIP = DNTRequest.GetIP(),
//                RegTime = DateTime.Now,

//                RegType = (int)AccountSourceType.新浪登录

//            };
//            _accountsInfoTask.Add(model);
//            int modelid = _accountsInfoTask.GetByAccount(model.Account).ID;
//            WebFormsAuthService.SignIn(model.Account);
//            //积分添加
           
//            //_accountLoginLogTask.Add(new AccountLoginLog
//            //{
//            //    LoginIP = DNTRequest.GetIP(),
//            //    LoginTime = DateTime.Now,
//            //    NickName = model.NickName,
//            //    UserID = modelid
//            //});
//            return RedirectToAction("index", "web");
//        }
//    }
//}
